home *** CD-ROM | disk | FTP | other *** search
/ AMIGA-CD 2 / Amiga-CD - Volume 2.iso / ungepackte_daten / 1993 / 10 / 02 / tips & tricks / aspratio.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-01  |  1.5 KB  |  66 lines

  1. #include <exec/types.h>
  2. #include <exec/memory.h>
  3. #include <libraries/dos.h>
  4. #include <intuition/intuition.h>
  5. #include <intuition/intuitionbase.h>
  6. #include <graphics/displayinfo.h>
  7. #include <graphics/gfxbase.h>
  8. #include <clib/exec_protos.h>
  9. #include <clib/dos_protos.h>
  10. #include <clib/intuition_protos.h>
  11. #include <clib/graphics_protos.h>
  12. #include <stdlib.h>
  13. #include <stdio.h>
  14. #include <string.h>
  15.  
  16. struct Library *IntuitionBase;
  17. struct Library *GfxBase;
  18.  
  19. void Aufraeumen() {
  20.   if(GfxBase)
  21.     CloseLibrary(GfxBase);
  22.   if(IntuitionBase)
  23.     CloseLibrary(IntuitionBase);
  24. }
  25.  
  26. void Ende(UBYTE *s, int res) {
  27.  Aufraeumen();
  28.  exit(res);
  29. }
  30.  
  31. void main(int argc, char **argv)
  32. {
  33.   struct Screen *first;
  34.   struct ViewPort *vp;
  35.   struct DisplayInfo DI;
  36.   ULONG  modeid;
  37.   UBYTE  xAspect, yAspect;
  38.   IntuitionBase = OpenLibrary(
  39.            "intuition.library",37);
  40.   GfxBase = OpenLibrary(
  41.             "graphics.library",37);
  42.   if( IntuitionBase == NULL ||
  43.             GfxBase == NULL )
  44.     Ende("Library-Fehler",
  45.                  RETURN_FAIL);
  46.  
  47.   first = ((struct IntuitionBase *)
  48.         IntuitionBase)->FirstScreen;
  49.   vp = &first->ViewPort;
  50.   xAspect = 0;
  51.   modeid = GetVPModeID(vp);
  52.   if(GetDisplayInfoData(NULL,
  53.      (UBYTE *)&DI,
  54.      sizeof(struct DisplayInfo),
  55.       DTAG_DISP, modeid)) {
  56.       printf("ViewPort ModeID: $%08lx\n",modeid);
  57.       xAspect = DI.Resolution.x;
  58.       yAspect = DI.Resolution.y;
  59.       printf("XAspect=%ld\n"
  60.              "YAspect=%ld\n",
  61.               xAspect, yAspect);
  62.   }
  63.  
  64.   Ende("",RETURN_OK);
  65. }
  66.